package com.sctvcloud.longchang.ui.utils;

import android.content.Context;
import android.graphics.drawable.Drawable;
import android.text.format.Time;

import com.sctvcloud.longchang.R;

public class WeatherUtils {

    /**
     * 根据天气状态  获取天气图标
     *
     * @param ctx
     * @param weaherStatus 天气状态
     * @return
     */
    public static Drawable getWeatherIcon(Context ctx, String weaherStatus) {
        Drawable icon = ctx.getResources().getDrawable(R.mipmap.a_nothing);
        switch (weaherStatus) {
            case "晴":
                icon = ctx.getResources().getDrawable(R.mipmap.a0);
                break;
            case "多云":
                icon = ctx.getResources().getDrawable(R.mipmap.a1);
                break;
            case "阴":
                icon = ctx.getResources().getDrawable(R.mipmap.a2);
                break;
            case "阵雨":
                icon = ctx.getResources().getDrawable(R.mipmap.a3);
                break;
            case "雷阵雨":
                icon = ctx.getResources().getDrawable(R.mipmap.a4);
                break;
            case "雷阵雨并伴有冰雹":
                icon = ctx.getResources().getDrawable(R.mipmap.a5);
                break;
            case "雨夹雪":
                icon = ctx.getResources().getDrawable(R.mipmap.a6);
                break;
            case "小雨":
                icon = ctx.getResources().getDrawable(R.mipmap.a7);
                break;
            case "中雨":
                icon = ctx.getResources().getDrawable(R.mipmap.a8);
                break;
            case "大雨":
                icon = ctx.getResources().getDrawable(R.mipmap.a9);
                break;
            case "暴雨":
                icon = ctx.getResources().getDrawable(R.mipmap.a10);
                break;
            case "大暴雨":
                icon = ctx.getResources().getDrawable(R.mipmap.a11);
                break;
            case "特大暴雨":
                icon = ctx.getResources().getDrawable(R.mipmap.a12);
                break;
            case "阵雪":
                icon = ctx.getResources().getDrawable(R.mipmap.a13);
                break;
            case "小雪":
                icon = ctx.getResources().getDrawable(R.mipmap.a14);
                break;
            case "中雪":
                icon = ctx.getResources().getDrawable(R.mipmap.a15);
                break;
            case "大雪":
                icon = ctx.getResources().getDrawable(R.mipmap.a16);
                break;
            case "暴雪":
                icon = ctx.getResources().getDrawable(R.mipmap.a17);
                break;
            case "雾":
                icon = ctx.getResources().getDrawable(R.mipmap.a18);
                break;
            case "冻雨":
                icon = ctx.getResources().getDrawable(R.mipmap.a19);
                break;
            case "沙尘暴":
                icon = ctx.getResources().getDrawable(R.mipmap.a20);
                break;
            case "小雨-中雨":
                icon = ctx.getResources().getDrawable(R.mipmap.a21);
                break;
            case "中雨-大雨":
                icon = ctx.getResources().getDrawable(R.mipmap.a22);
                break;
            case "大雨-暴雨":
                icon = ctx.getResources().getDrawable(R.mipmap.a23);
                break;
            case "暴雨-大暴雨":
                icon = ctx.getResources().getDrawable(R.mipmap.a24);
                break;
            case "大暴雨-特大暴雨":
                icon = ctx.getResources().getDrawable(R.mipmap.a25);
                break;
            case "小雪-中雪":
                icon = ctx.getResources().getDrawable(R.mipmap.a26);
                break;
            case "中雪-大雪":
                icon = ctx.getResources().getDrawable(R.mipmap.a27);
                break;
            case "大雪-暴雪":
                icon = ctx.getResources().getDrawable(R.mipmap.a28);
                break;
            case "浮尘":
                icon = ctx.getResources().getDrawable(R.mipmap.a29);
                break;
            case "扬沙":
                icon = ctx.getResources().getDrawable(R.mipmap.a30);
                break;
            case "强沙尘暴":
                icon = ctx.getResources().getDrawable(R.mipmap.a31);
                break;
            case "飑":
                icon = ctx.getResources().getDrawable(R.mipmap.a32);
                break;
            case "龙卷风":
                icon = ctx.getResources().getDrawable(R.mipmap.a33);
                break;
            case "弱高吹雪":
                icon = ctx.getResources().getDrawable(R.mipmap.a34);
                break;
            case "轻霾":
                icon = ctx.getResources().getDrawable(R.mipmap.a35);
                break;
            case "霾":
                icon = ctx.getResources().getDrawable(R.mipmap.a36);
                break;
            default:
                icon = ctx.getResources().getDrawable(R.mipmap.a_nothing);
                break;
        }
        return icon;
    }

    public static boolean isCurrentInTimeScope(int beginHour, int beginMin, int endHour, int endMin) {
        boolean result = false;
        final long aDayInMillis = 1000 * 60 * 60 * 24;
        final long currentTimeMillis = System.currentTimeMillis();

        Time now = new Time();
        now.set(currentTimeMillis);

        Time startTime = new Time();
        startTime.set(currentTimeMillis);
        startTime.hour = beginHour;
        startTime.minute = beginMin;

        Time endTime = new Time();
        endTime.set(currentTimeMillis);
        endTime.hour = endHour;
        endTime.minute = endMin;

        if (!startTime.before(endTime)) {
// 跨天的特殊情况（比如22:00-8:00）
            startTime.set(startTime.toMillis(true) - aDayInMillis);
            result = !now.before(startTime) && !now.after(endTime); // startTime <= now <= endTime
            Time startTimeInThisDay = new Time();
            startTimeInThisDay.set(startTime.toMillis(true) + aDayInMillis);
            if (!now.before(startTimeInThisDay)) {
                result = true;
            }
        } else {
// 普通情况(比如 8:00 - 14:00)
            result = !now.before(startTime) && !now.after(endTime); // startTime <= now <= endTime
        }
        return result;
    }
}
